שלום לכולם , ותודה מראש למי שינסה לסייע

אני מתכנת לא מנוסה יותר מדי ב-PHP, ואני מנסה כרגע לבנות מערכת CMS ממש פשוטה, שהיא פשוט שולפת מהטבלה את 4 העמודות ע"י הפקודה :

$sql="SELECT * FROM $tbl_name WHERE ID = 1"


כלומר שלוף את כל השורה הזאת, שה-ID שלה הוא 1. (האמת שפשוט אין לי מושג איך עושים שזה יהיה ה-ID האחרון אז זה מה יש חח)

ב-ASP.NET הייתי כותב ככה אם הייתי רוצה לשלוף את העמודה "TEXT" (יש מחלקה מקשרת וכו'):
text = ds2.Tables[0].Rows[ds2.Tables[0].Rows.Count - 1]["Text"].ToString();


אבל ב-PHP אני לא יודע איך לגשת לעמודה שלקחנו שהיא בעצם שאילתה... ופשוט "לשלוף" ממנה את התוכן שנמצא בכל אחת מהעמודות (שהן: תוכן, כותב, תאריך פרסום ו-ID).

כמובן שאח"כ לפלוט בעמוד הראשי עם ECHO של מה שצריך...

הרעיון הוא שזה יקח את השורה החדשה ביותר, ויפלוט את העמודה "תוכן" שלה.

אודה לכם מראש אם תוכלו לסייע לי... : )

3 תשובות

avatar ענה intval ב 26 לאפריל 2013 #


נ.ב. מי שקורא את זה ומסוגל לכתוב על זה משהו - תכתוב בבקשה מדריך על שימוש ב mysqlI בצורה פרוצדולית למתחילים. עם הרבה דוגמאות ומעט סיבוך של טפיסת שגיאות, שאילתות עם פרמטרים ודברים אחרים. אחרי ש mysql יצאה מהשפה - חסרים לאנשים מדריכים טובים על mysqli למתחילים. (אם אתה רוצה לעשות משהו יותר מתקדם מלהכי הכי מתחילים, תעשה חלק שני ושלישי). כולם ישמחו למדריך כזה :) תודה מראש.

עדכון: הנה מדריך PHP + MySQL = MySQLi.


----------------------------------


מצאתי את המדריך הזה על mysqli בעברית
אבל הוא לא הכי מקיף שאפשר.
הנא דוגמה פשוטה:

$mysqli = mysqli_connect("localhost", "user", "password", "database");
$res = mysqli_query($mysqli, "SELECT * FROM $tbl_name WHERE ID = 1");
$row = mysqli_fetch_assoc($res);
echo $row['column1'];



במקום column1 בשורה האחרונה צריך לכתוב את השם של העמודה שננת בטבלה.

אם אתה שולף בבת אחת כמה שורות, תצטרך לולאה
$mysqli = mysqli_connect("localhost", "user", "password", "database");
$res = mysqli_query($mysqli, "SELECT * FROM $tbl_name WHERE ID = 1");
while(false !== ($row = mysqli_fetch_assoc($res))
{
  echo $row['column1'], ' ' , $row['column2'], '<br/>';
}


כדי לשלוף את השורה הראשונה מהטבלה הפקודה היא
select ... from ... order by ID asc limit 1
כדי לשלוף את השורה האחרונה בטבלה הפקודה היא
select ... from ... order by ID desc limit 1
בהנחה שיש לך עמודה בשם ID בטבלה.
ראה עוד במדריך על עמודים.

avatar ענה yonikal56 ב 28 לאפריל 2013 #

תשתמש בלולאה while
mysql_fetch_assoc($)
זה הפונקציה שלוקחת את זה הקודם נכון אתה משתמש בפונקציה כל פעם לשים מהטבלה משהו עם אתה רוצה לשים את זה בטבלה צריך מחרוזת של טבלה

avatar ענה OrelBeY ב 28 לאפריל 2013 #


היי, אלכס. מצאתי מאמר נורא נחמד ומעודכן, שהדבר היחיד שלא טוב בו זה שימוש ב-@. אני יכול לתרגם אותו ולשנות את השימוש ב-@ (ולהסביר על זה). זה יהיה טוב מספיק?
אם פשוט חסר שם כמה דברים, רק תגיד ואני אוכל להוסיף.